<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>OrbbecSDK: /root/libobsensor/include/libobsensor/h/Frame.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="orbbec_icon.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">OrbbecSDK
   &#160;<span id="projectnumber">1.10.22</span>
   </div>
   <div id="projectbrief">OrbbecSDK: Software-Development-Kit for Orbbec 3D Cameras</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_8195f5c0d9a800b311ff87242d342361.html">libobsensor</a></li><li class="navelem"><a class="el" href="dir_9fda3634bd985c8b3aac4c1dd5078468.html">h</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Frame.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Frame related function is mainly used to obtain frame data and frame information.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="ObTypes_8h_source.html">ObTypes.h</a>&quot;</code><br />
</div>
<p><a href="Frame_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a8e7ec8be03a6df7fcfdf34bdebd4e932"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a8e7ec8be03a6df7fcfdf34bdebd4e932">ob_video_frame_metadata</a>&#160;&#160;&#160;<a class="el" href="Frame_8h.html#afe5ebce5ce2a8f6c15eb7e9da76a89e5">ob_frame_metadata</a></td></tr>
<tr class="separator:a8e7ec8be03a6df7fcfdf34bdebd4e932"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe2eada651497ac1d75121726199f75a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#abe2eada651497ac1d75121726199f75a">ob_video_frame_metadata_size</a>&#160;&#160;&#160;<a class="el" href="Frame_8h.html#a505189d1ff40dcbfdecea05b7c42f394">ob_frame_metadata_size</a></td></tr>
<tr class="separator:abe2eada651497ac1d75121726199f75a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a5009d0e21fffddc2bb891357ccd611f7"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a5009d0e21fffddc2bb891357ccd611f7">ob_frame_index</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a5009d0e21fffddc2bb891357ccd611f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the frame index.  <a href="#a5009d0e21fffddc2bb891357ccd611f7">More...</a><br /></td></tr>
<tr class="separator:a5009d0e21fffddc2bb891357ccd611f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac46511e8d0e4d5b962d2b9710d313bdc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a2dd00351b3c3e24fba7b2e9d1bb033a8">ob_format</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#ac46511e8d0e4d5b962d2b9710d313bdc">ob_frame_format</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:ac46511e8d0e4d5b962d2b9710d313bdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the frame format.  <a href="#ac46511e8d0e4d5b962d2b9710d313bdc">More...</a><br /></td></tr>
<tr class="separator:ac46511e8d0e4d5b962d2b9710d313bdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfa38aa0cc594622f1d00540cf108b5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#ad2256fb566c96c9a50ab5120012a1ed1">ob_frame_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#adfa38aa0cc594622f1d00540cf108b5a">ob_frame_get_type</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:adfa38aa0cc594622f1d00540cf108b5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the frame type.  <a href="#adfa38aa0cc594622f1d00540cf108b5a">More...</a><br /></td></tr>
<tr class="separator:adfa38aa0cc594622f1d00540cf108b5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95b2242495cad6f1d1d7db82cc516a2e"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a95b2242495cad6f1d1d7db82cc516a2e">ob_frame_time_stamp</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a95b2242495cad6f1d1d7db82cc516a2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the hardware timestamp of the frame in milliseconds.  <a href="#a95b2242495cad6f1d1d7db82cc516a2e">More...</a><br /></td></tr>
<tr class="separator:a95b2242495cad6f1d1d7db82cc516a2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacf461e938d508f05b7b1ba8324cfcf5"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#aacf461e938d508f05b7b1ba8324cfcf5">ob_frame_time_stamp_us</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:aacf461e938d508f05b7b1ba8324cfcf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the hardware timestamp of the frame in microseconds.  <a href="#aacf461e938d508f05b7b1ba8324cfcf5">More...</a><br /></td></tr>
<tr class="separator:aacf461e938d508f05b7b1ba8324cfcf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adce8d3f7031629a3e3d7b25911b33886"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#adce8d3f7031629a3e3d7b25911b33886">ob_frame_system_time_stamp</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:adce8d3f7031629a3e3d7b25911b33886"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the system timestamp of the frame in milliseconds.  <a href="#adce8d3f7031629a3e3d7b25911b33886">More...</a><br /></td></tr>
<tr class="separator:adce8d3f7031629a3e3d7b25911b33886"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad19056f301daa6d4e7b18447dafcb732"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#ad19056f301daa6d4e7b18447dafcb732">ob_frame_system_time_stamp_us</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:ad19056f301daa6d4e7b18447dafcb732"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the system timestamp of the frame in microseconds.  <a href="#ad19056f301daa6d4e7b18447dafcb732">More...</a><br /></td></tr>
<tr class="separator:ad19056f301daa6d4e7b18447dafcb732"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3823a34cf10836c2e46904416dd4f7ae"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a3823a34cf10836c2e46904416dd4f7ae">ob_frame_global_time_stamp_us</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a3823a34cf10836c2e46904416dd4f7ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the global timestamp of the frame in microseconds.  <a href="#a3823a34cf10836c2e46904416dd4f7ae">More...</a><br /></td></tr>
<tr class="separator:a3823a34cf10836c2e46904416dd4f7ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada0d3dca9c8d020451e8a1bb11dacf57"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#ada0d3dca9c8d020451e8a1bb11dacf57">ob_frame_data</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:ada0d3dca9c8d020451e8a1bb11dacf57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get frame data.  <a href="#ada0d3dca9c8d020451e8a1bb11dacf57">More...</a><br /></td></tr>
<tr class="separator:ada0d3dca9c8d020451e8a1bb11dacf57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9350186e6d286d74466d07287871ce9"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#ab9350186e6d286d74466d07287871ce9">ob_frame_data_size</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:ab9350186e6d286d74466d07287871ce9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the frame data size.  <a href="#ab9350186e6d286d74466d07287871ce9">More...</a><br /></td></tr>
<tr class="separator:ab9350186e6d286d74466d07287871ce9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe5ebce5ce2a8f6c15eb7e9da76a89e5"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#afe5ebce5ce2a8f6c15eb7e9da76a89e5">ob_frame_metadata</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:afe5ebce5ce2a8f6c15eb7e9da76a89e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the metadata of the frame.  <a href="#afe5ebce5ce2a8f6c15eb7e9da76a89e5">More...</a><br /></td></tr>
<tr class="separator:afe5ebce5ce2a8f6c15eb7e9da76a89e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a505189d1ff40dcbfdecea05b7c42f394"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a505189d1ff40dcbfdecea05b7c42f394">ob_frame_metadata_size</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a505189d1ff40dcbfdecea05b7c42f394"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the metadata size of the frame.  <a href="#a505189d1ff40dcbfdecea05b7c42f394">More...</a><br /></td></tr>
<tr class="separator:a505189d1ff40dcbfdecea05b7c42f394"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4797a8f850c1608999981997297cb22b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a4797a8f850c1608999981997297cb22b">ob_frame_has_metadata</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="ObTypes_8h.html#ae080b7e9d4916ffd1d6493aae7ec0c94">ob_frame_metadata_type</a> type, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a4797a8f850c1608999981997297cb22b"><td class="mdescLeft">&#160;</td><td class="mdescRight">check if the frame contains the specified metadata  <a href="#a4797a8f850c1608999981997297cb22b">More...</a><br /></td></tr>
<tr class="separator:a4797a8f850c1608999981997297cb22b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addd8d0e89e5c4d0e2a1f970ef881dfc7"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#addd8d0e89e5c4d0e2a1f970ef881dfc7">ob_frame_get_metadata_value</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="ObTypes_8h.html#ae080b7e9d4916ffd1d6493aae7ec0c94">ob_frame_metadata_type</a> type, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:addd8d0e89e5c4d0e2a1f970ef881dfc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the metadata value of the frame.  <a href="#addd8d0e89e5c4d0e2a1f970ef881dfc7">More...</a><br /></td></tr>
<tr class="separator:addd8d0e89e5c4d0e2a1f970ef881dfc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa11b17d2d8bb8b25bf2a10d67e30e04f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#aa7bf7c140d08fad46a2fd2aad2eeb441">ob_stream_profile</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#aa11b17d2d8bb8b25bf2a10d67e30e04f">ob_frame_get_stream_profile</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:aa11b17d2d8bb8b25bf2a10d67e30e04f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the stream profile of the frame.  <a href="#aa11b17d2d8bb8b25bf2a10d67e30e04f">More...</a><br /></td></tr>
<tr class="separator:aa11b17d2d8bb8b25bf2a10d67e30e04f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0886f7653e1c4880260db53582e95cc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a818d3a4166de3a59430e6fd2bdf9eb28">ob_sensor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#ae0886f7653e1c4880260db53582e95cc">ob_frame_get_sensor</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:ae0886f7653e1c4880260db53582e95cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the sensor of the frame.  <a href="#ae0886f7653e1c4880260db53582e95cc">More...</a><br /></td></tr>
<tr class="separator:ae0886f7653e1c4880260db53582e95cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f9e1821fe6b84d8cec64b09ad84133f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a3c87c98acfd9b143bb58c731d95fa437">ob_device</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a3f9e1821fe6b84d8cec64b09ad84133f">ob_frame_get_device</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a3f9e1821fe6b84d8cec64b09ad84133f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the device of the frame.  <a href="#a3f9e1821fe6b84d8cec64b09ad84133f">More...</a><br /></td></tr>
<tr class="separator:a3f9e1821fe6b84d8cec64b09ad84133f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0105450d37ecd43b0e27c90e396231eb"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a0105450d37ecd43b0e27c90e396231eb">ob_video_frame_width</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a0105450d37ecd43b0e27c90e396231eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get video frame width.  <a href="#a0105450d37ecd43b0e27c90e396231eb">More...</a><br /></td></tr>
<tr class="separator:a0105450d37ecd43b0e27c90e396231eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c31d615158ad377dab30a5886788a11"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a4c31d615158ad377dab30a5886788a11">ob_video_frame_height</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a4c31d615158ad377dab30a5886788a11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get video frame height.  <a href="#a4c31d615158ad377dab30a5886788a11">More...</a><br /></td></tr>
<tr class="separator:a4c31d615158ad377dab30a5886788a11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a7f7edea6d5963c2bbd2360edc3a489"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a4a7f7edea6d5963c2bbd2360edc3a489">ob_video_frame_pixel_available_bit_size</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a4a7f7edea6d5963c2bbd2360edc3a489"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the effective number of pixels (such as Y16 format frame, but only the lower 10 bits are effective bits, and the upper 6 bits are filled with 0)  <a href="#a4a7f7edea6d5963c2bbd2360edc3a489">More...</a><br /></td></tr>
<tr class="separator:a4a7f7edea6d5963c2bbd2360edc3a489"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac69985299cbe7ca46cdddab955d26a33"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a01cba50d4d558e4c2035f09b698bb10b">ob_sensor_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#ac69985299cbe7ca46cdddab955d26a33">ob_ir_frame_get_source_sensor_type</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **<a class="el" href="structob__error.html">ob_error</a>)</td></tr>
<tr class="memdesc:ac69985299cbe7ca46cdddab955d26a33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the source sensor type of the ir frame (left or right for dual camera)  <a href="#ac69985299cbe7ca46cdddab955d26a33">More...</a><br /></td></tr>
<tr class="separator:ac69985299cbe7ca46cdddab955d26a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84d908c9407ef8f96086c6d0911122e0"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a84d908c9407ef8f96086c6d0911122e0">ob_depth_frame_get_value_scale</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a84d908c9407ef8f96086c6d0911122e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value scale of the depth frame. The pixel value of the depth frame is multiplied by the scale to give a depth value in millimeters. For example, if valueScale=0.1 and a certain coordinate pixel value is pixelValue=10000, then the depth value = pixelValue*valueScale = 10000*0.1=1000mm.  <a href="#a84d908c9407ef8f96086c6d0911122e0">More...</a><br /></td></tr>
<tr class="separator:a84d908c9407ef8f96086c6d0911122e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42e33dafc2a310292a84bc4e59b624b3"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a42e33dafc2a310292a84bc4e59b624b3">ob_points_frame_get_position_value_scale</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a42e33dafc2a310292a84bc4e59b624b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the point position value scale of the points frame. The point position value of the points frame is multiplied by the scale to give a position value in millimeters. For example, if scale=0.1, the x-coordinate value of a point is x = 10000, which means that the actual x-coordinate value = x*scale = 10000*0.1 = 1000mm.  <a href="#a42e33dafc2a310292a84bc4e59b624b3">More...</a><br /></td></tr>
<tr class="separator:a42e33dafc2a310292a84bc4e59b624b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a572bd900dfe085bd8618e53b2670f069"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a572bd900dfe085bd8618e53b2670f069">ob_delete_frame</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a572bd900dfe085bd8618e53b2670f069"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a frame object.  <a href="#a572bd900dfe085bd8618e53b2670f069">More...</a><br /></td></tr>
<tr class="separator:a572bd900dfe085bd8618e53b2670f069"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48ab6c2f559f3af05f4147a5f2abb324"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a48ab6c2f559f3af05f4147a5f2abb324">ob_frameset_frame_count</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frameset, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a48ab6c2f559f3af05f4147a5f2abb324"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of frames contained in the frameset.  <a href="#a48ab6c2f559f3af05f4147a5f2abb324">More...</a><br /></td></tr>
<tr class="separator:a48ab6c2f559f3af05f4147a5f2abb324"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fd791167ae8728c8796746cddfb98f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a5fd791167ae8728c8796746cddfb98f9">ob_frameset_depth_frame</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frameset, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a5fd791167ae8728c8796746cddfb98f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the depth frame from the frameset.  <a href="#a5fd791167ae8728c8796746cddfb98f9">More...</a><br /></td></tr>
<tr class="separator:a5fd791167ae8728c8796746cddfb98f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea3b7d87129161528aeecf9cb06c0321"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#aea3b7d87129161528aeecf9cb06c0321">ob_frameset_color_frame</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frameset, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:aea3b7d87129161528aeecf9cb06c0321"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the color frame from the frameset.  <a href="#aea3b7d87129161528aeecf9cb06c0321">More...</a><br /></td></tr>
<tr class="separator:aea3b7d87129161528aeecf9cb06c0321"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e1afbac80830e8f9497e6fda23d5ca1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a6e1afbac80830e8f9497e6fda23d5ca1">ob_frameset_ir_frame</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frameset, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a6e1afbac80830e8f9497e6fda23d5ca1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the infrared frame from the frameset.  <a href="#a6e1afbac80830e8f9497e6fda23d5ca1">More...</a><br /></td></tr>
<tr class="separator:a6e1afbac80830e8f9497e6fda23d5ca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaee352704126aa113327a3105f5ed3af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#aaee352704126aa113327a3105f5ed3af">ob_frameset_points_frame</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frameset, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:aaee352704126aa113327a3105f5ed3af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get point cloud data from the frameset.  <a href="#aaee352704126aa113327a3105f5ed3af">More...</a><br /></td></tr>
<tr class="separator:aaee352704126aa113327a3105f5ed3af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30f3200115ea77315b7bb8ace3087207"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a30f3200115ea77315b7bb8ace3087207">ob_frameset_get_frame</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frameset, <a class="el" href="ObTypes_8h.html#ad2256fb566c96c9a50ab5120012a1ed1">ob_frame_type</a> frame_type, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a30f3200115ea77315b7bb8ace3087207"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a frame of a specific type from the frameset.  <a href="#a30f3200115ea77315b7bb8ace3087207">More...</a><br /></td></tr>
<tr class="separator:a30f3200115ea77315b7bb8ace3087207"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1f584089c58f97a5a2fb5ed3fe8be51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#aa1f584089c58f97a5a2fb5ed3fe8be51">ob_frameset_get_frame_by_index</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frameset, int index, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:aa1f584089c58f97a5a2fb5ed3fe8be51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a frame at a specific index from the FrameSet.  <a href="#aa1f584089c58f97a5a2fb5ed3fe8be51">More...</a><br /></td></tr>
<tr class="separator:aa1f584089c58f97a5a2fb5ed3fe8be51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abebc05a57d9906ff7b05e5e3edbe0537"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a73b09a6818b6e37a12ce17732e2e01c0">ob_accel_value</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#abebc05a57d9906ff7b05e5e3edbe0537">ob_accel_frame_value</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:abebc05a57d9906ff7b05e5e3edbe0537"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get accelerometer frame data.  <a href="#abebc05a57d9906ff7b05e5e3edbe0537">More...</a><br /></td></tr>
<tr class="separator:abebc05a57d9906ff7b05e5e3edbe0537"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaed95a72b4e138b7f25f1abc90f762c4"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#aaed95a72b4e138b7f25f1abc90f762c4">ob_accel_frame_temperature</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:aaed95a72b4e138b7f25f1abc90f762c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the temperature when acquiring the accelerometer frame.  <a href="#aaed95a72b4e138b7f25f1abc90f762c4">More...</a><br /></td></tr>
<tr class="separator:aaed95a72b4e138b7f25f1abc90f762c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a491583ded6975af8cb3948a6ec372529"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a3ad05ef746762121034a508f185b329b">ob_gyro_value</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a491583ded6975af8cb3948a6ec372529">ob_gyro_frame_value</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a491583ded6975af8cb3948a6ec372529"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get gyroscope frame data.  <a href="#a491583ded6975af8cb3948a6ec372529">More...</a><br /></td></tr>
<tr class="separator:a491583ded6975af8cb3948a6ec372529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46144bd2d6c7d57b85f8b1f95d1be336"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a46144bd2d6c7d57b85f8b1f95d1be336">ob_gyro_frame_temperature</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a46144bd2d6c7d57b85f8b1f95d1be336"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the temperature when acquiring the gyroscope frame.  <a href="#a46144bd2d6c7d57b85f8b1f95d1be336">More...</a><br /></td></tr>
<tr class="separator:a46144bd2d6c7d57b85f8b1f95d1be336"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af136546f3099cfde42407c2ab91b5f2a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#af136546f3099cfde42407c2ab91b5f2a">ob_frame_add_ref</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:af136546f3099cfde42407c2ab91b5f2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increase the reference count of a frame object.  <a href="#af136546f3099cfde42407c2ab91b5f2a">More...</a><br /></td></tr>
<tr class="separator:af136546f3099cfde42407c2ab91b5f2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a144bc4b6e9ba63d60eccba1c31b8c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a5a144bc4b6e9ba63d60eccba1c31b8c1">ob_create_frame</a> (<a class="el" href="ObTypes_8h.html#a2dd00351b3c3e24fba7b2e9d1bb033a8">ob_format</a> frame_format, int width, int height, int stride_bytes, <a class="el" href="ObTypes_8h.html#ad2256fb566c96c9a50ab5120012a1ed1">ob_frame_type</a> frame_type, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a5a144bc4b6e9ba63d60eccba1c31b8c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an empty frame object based on the specified parameters.  <a href="#a5a144bc4b6e9ba63d60eccba1c31b8c1">More...</a><br /></td></tr>
<tr class="separator:a5a144bc4b6e9ba63d60eccba1c31b8c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e49f68c6b77a2e80615e229cd3ae473"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a5e49f68c6b77a2e80615e229cd3ae473">ob_create_frame_from_buffer</a> (<a class="el" href="ObTypes_8h.html#a2dd00351b3c3e24fba7b2e9d1bb033a8">ob_format</a> frame_format, uint32_t frame_width, uint32_t frame_height, uint8_t *buffer, uint32_t buffer_size, <a class="el" href="ObTypes_8h.html#a3ba48a3ae08f73fc4c6beac4464dde1d">ob_frame_destroy_callback</a> *buffer_destroy_cb, void *buffer_destroy_context, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a5e49f68c6b77a2e80615e229cd3ae473"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a frame object based on an externally created buffer.  <a href="#a5e49f68c6b77a2e80615e229cd3ae473">More...</a><br /></td></tr>
<tr class="separator:a5e49f68c6b77a2e80615e229cd3ae473"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91bc0d41b1bbe8885853e5b0346034d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a91bc0d41b1bbe8885853e5b0346034d9">ob_create_frameset</a> (<a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a91bc0d41b1bbe8885853e5b0346034d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an empty frameset object.  <a href="#a91bc0d41b1bbe8885853e5b0346034d9">More...</a><br /></td></tr>
<tr class="separator:a91bc0d41b1bbe8885853e5b0346034d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a379ea3f58725a133c0d98efa99cfece2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a379ea3f58725a133c0d98efa99cfece2">ob_frameset_push_frame</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frameset, <a class="el" href="ObTypes_8h.html#ad2256fb566c96c9a50ab5120012a1ed1">ob_frame_type</a> type, <a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a379ea3f58725a133c0d98efa99cfece2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a frame of the specified type to the frameset.  <a href="#a379ea3f58725a133c0d98efa99cfece2">More...</a><br /></td></tr>
<tr class="separator:a379ea3f58725a133c0d98efa99cfece2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35186cca3c0a561acb281b03c8ea6013"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a35186cca3c0a561acb281b03c8ea6013">ob_frame_set_system_time_stamp</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, uint64_t system_timestamp, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a35186cca3c0a561acb281b03c8ea6013"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the system timestamp of a frame object.  <a href="#a35186cca3c0a561acb281b03c8ea6013">More...</a><br /></td></tr>
<tr class="separator:a35186cca3c0a561acb281b03c8ea6013"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f4b11364d2a74f80e9c6252b94e97bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a9f4b11364d2a74f80e9c6252b94e97bd">ob_frame_set_device_time_stamp</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, uint64_t device_timestamp, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a9f4b11364d2a74f80e9c6252b94e97bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the device timestamp of a frame object.  <a href="#a9f4b11364d2a74f80e9c6252b94e97bd">More...</a><br /></td></tr>
<tr class="separator:a9f4b11364d2a74f80e9c6252b94e97bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ce57b8b10a7dddf118ccd9663f7dd06"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Frame_8h.html#a5ce57b8b10a7dddf118ccd9663f7dd06">ob_frame_set_device_time_stamp_us</a> (<a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *frame, uint64_t device_timestamp_us, <a class="el" href="structob__error.html">ob_error</a> **error)</td></tr>
<tr class="memdesc:a5ce57b8b10a7dddf118ccd9663f7dd06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the device timestamp of a frame object.  <a href="#a5ce57b8b10a7dddf118ccd9663f7dd06">More...</a><br /></td></tr>
<tr class="separator:a5ce57b8b10a7dddf118ccd9663f7dd06"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Frame related function is mainly used to obtain frame data and frame information. </p>

<p>Definition in file <a class="el" href="Frame_8h_source.html">Frame.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a8e7ec8be03a6df7fcfdf34bdebd4e932"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ob_video_frame_metadata&#160;&#160;&#160;<a class="el" href="Frame_8h.html#afe5ebce5ce2a8f6c15eb7e9da76a89e5">ob_frame_metadata</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="Frame_8h_source.html#l00123">123</a> of file <a class="el" href="Frame_8h_source.html">Frame.h</a>.</p>

</div>
</div>
<a class="anchor" id="abe2eada651497ac1d75121726199f75a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ob_video_frame_metadata_size&#160;&#160;&#160;<a class="el" href="Frame_8h.html#a505189d1ff40dcbfdecea05b7c42f394">ob_frame_metadata_size</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="Frame_8h_source.html#l00133">133</a> of file <a class="el" href="Frame_8h_source.html">Frame.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a5009d0e21fffddc2bb891357ccd611f7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t ob_frame_index </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the frame index. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log wrong message </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint64_t return the frame index </dd></dl>

</div>
</div>
<a class="anchor" id="ac46511e8d0e4d5b962d2b9710d313bdc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a2dd00351b3c3e24fba7b2e9d1bb033a8">ob_format</a> ob_frame_format </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the frame format. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_format return the frame format </dd></dl>

</div>
</div>
<a class="anchor" id="adfa38aa0cc594622f1d00540cf108b5a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#ad2256fb566c96c9a50ab5120012a1ed1">ob_frame_type</a> ob_frame_get_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the frame type. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_frame_type return the frame type </dd></dl>

</div>
</div>
<a class="anchor" id="a95b2242495cad6f1d1d7db82cc516a2e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t ob_frame_time_stamp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the hardware timestamp of the frame in milliseconds. </p>
<p>The hardware timestamp is the time point when the frame was captured by the device, on device clock domain.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint64_t return the frame hardware timestamp in milliseconds </dd></dl>

</div>
</div>
<a class="anchor" id="aacf461e938d508f05b7b1ba8324cfcf5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t ob_frame_time_stamp_us </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the hardware timestamp of the frame in microseconds. </p>
<p>The hardware timestamp is the time point when the frame was captured by the device, on device clock domain.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint64_t return the frame hardware timestamp in microseconds </dd></dl>

</div>
</div>
<a class="anchor" id="adce8d3f7031629a3e3d7b25911b33886"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t ob_frame_system_time_stamp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the system timestamp of the frame in milliseconds. </p>
<p>The system timestamp is the time point when the frame was received by the host, on host clock domain.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint64_t return the frame system timestamp in milliseconds </dd></dl>

</div>
</div>
<a class="anchor" id="ad19056f301daa6d4e7b18447dafcb732"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t ob_frame_system_time_stamp_us </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the system timestamp of the frame in microseconds. </p>
<p>The system timestamp is the time point when the frame was received by the host, on host clock domain.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint64_t return the frame system timestamp in microseconds </dd></dl>

</div>
</div>
<a class="anchor" id="a3823a34cf10836c2e46904416dd4f7ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t ob_frame_global_time_stamp_us </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the global timestamp of the frame in microseconds. </p>
<p>The global timestamp is the time point when the frame was was captured by the device, and has been converted to the host clock domain. The conversion process base on the device timestamp and can eliminate the timer drift of the device</p>
<dl class="section attention"><dt>Attention</dt><dd>Only some devices support getting the global timestamp. If the device does not support it, this function will return 0. Check the device support status by <a class="el" href="Device_8h.html#a40f676598f4affb100cabe462105c753">ob_device_is_global_timestamp_supported()</a> function.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint64_t The global timestamp of the frame in microseconds. </dd></dl>

</div>
</div>
<a class="anchor" id="ada0d3dca9c8d020451e8a1bb11dacf57"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* ob_frame_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get frame data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void* * return frame data pointer </dd></dl>

</div>
</div>
<a class="anchor" id="ab9350186e6d286d74466d07287871ce9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t ob_frame_data_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the frame data size. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint32_t return the frame data size If it is point cloud data, it return the number of bytes occupied by all point sets. If you need to find the number of points, you need to divide dataSize by the structure size of the corresponding point type. </dd></dl>

</div>
</div>
<a class="anchor" id="afe5ebce5ce2a8f6c15eb7e9da76a89e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* ob_frame_metadata </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the metadata of the frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void* return the metadata pointer of the frame </dd></dl>

</div>
</div>
<a class="anchor" id="a505189d1ff40dcbfdecea05b7c42f394"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t ob_frame_metadata_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the metadata size of the frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint32_t return the metadata size of the frame </dd></dl>

</div>
</div>
<a class="anchor" id="a4797a8f850c1608999981997297cb22b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ob_frame_has_metadata </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#ae080b7e9d4916ffd1d6493aae7ec0c94">ob_frame_metadata_type</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>check if the frame contains the specified metadata </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>frame object </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>metadata type, refer to <a class="el" href="ObTypes_8h.html#ae080b7e9d4916ffd1d6493aae7ec0c94">ob_frame_metadata_type</a> </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="addd8d0e89e5c4d0e2a1f970ef881dfc7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t ob_frame_get_metadata_value </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#ae080b7e9d4916ffd1d6493aae7ec0c94">ob_frame_metadata_type</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the metadata value of the frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>frame object </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>metadata type, refer to <a class="el" href="ObTypes_8h.html#ae080b7e9d4916ffd1d6493aae7ec0c94">ob_frame_metadata_type</a> </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int64_t return the metadata value of the frame </dd></dl>

</div>
</div>
<a class="anchor" id="aa11b17d2d8bb8b25bf2a10d67e30e04f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#aa7bf7c140d08fad46a2fd2aad2eeb441">ob_stream_profile</a>* ob_frame_get_stream_profile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the stream profile of the frame. </p>
<dl class="section attention"><dt>Attention</dt><dd>Require <a class="el" href="StreamProfile_8h.html#af079a3b0493c43fa5782b5d1c67f30c9">ob_delete_stream_profile()</a> to release the return stream profile.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">frame</td><td>frame object </td></tr>
    <tr><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_stream_profile* Return the stream profile of the frame, if the frame is not captured by a sensor stream, it will return NULL </dd></dl>

</div>
</div>
<a class="anchor" id="ae0886f7653e1c4880260db53582e95cc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a818d3a4166de3a59430e6fd2bdf9eb28">ob_sensor</a>* ob_frame_get_sensor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the sensor of the frame. </p>
<dl class="section attention"><dt>Attention</dt><dd>Require <a class="el" href="Sensor_8h.html#a396811d4fa7a910cb1384d37c6820646">ob_delete_sensor()</a> to release the return sensor.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_sensor* return the sensor of the frame, if the frame is not captured by a sensor or the sensor stream has been destroyed, it will return NULL </dd></dl>

</div>
</div>
<a class="anchor" id="a3f9e1821fe6b84d8cec64b09ad84133f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a3c87c98acfd9b143bb58c731d95fa437">ob_device</a>* ob_frame_get_device </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the device of the frame. </p>
<dl class="section attention"><dt>Attention</dt><dd>Require <a class="el" href="Device_8h.html#a8e59c9e48b96283cf735961d770b473a">ob_delete_device()</a> to release the return device.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">frame</td><td>frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_device* return the device of the frame, if the frame is not captured by a sensor stream or the device has been destroyed, it will return NULL </dd></dl>

</div>
</div>
<a class="anchor" id="a0105450d37ecd43b0e27c90e396231eb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t ob_video_frame_width </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get video frame width. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint32_t return the frame width </dd></dl>

</div>
</div>
<a class="anchor" id="a4c31d615158ad377dab30a5886788a11"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t ob_video_frame_height </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get video frame height. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint32_t return the frame height </dd></dl>

</div>
</div>
<a class="anchor" id="a4a7f7edea6d5963c2bbd2360edc3a489"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t ob_video_frame_pixel_available_bit_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the effective number of pixels (such as Y16 format frame, but only the lower 10 bits are effective bits, and the upper 6 bits are filled with 0) </p>
<dl class="section attention"><dt>Attention</dt><dd>Only valid for Y8/Y10/Y11/Y12/Y14/Y16 format</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>video frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint8_t return the effective number of pixels in the pixel, or 0 if it is an unsupported format </dd></dl>

</div>
</div>
<a class="anchor" id="ac69985299cbe7ca46cdddab955d26a33"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a01cba50d4d558e4c2035f09b698bb10b">ob_sensor_type</a> ob_ir_frame_get_source_sensor_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>ob_error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the source sensor type of the ir frame (left or right for dual camera) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramname"><a class="el" href="structob__error.html" title="The error class exposed by the SDK, users can get detailed error information according to the error...">ob_error</a></td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_sensor_type return the source sensor type of the ir frame </dd></dl>

</div>
</div>
<a class="anchor" id="a84d908c9407ef8f96086c6d0911122e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float ob_depth_frame_get_value_scale </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the value scale of the depth frame. The pixel value of the depth frame is multiplied by the scale to give a depth value in millimeters. For example, if valueScale=0.1 and a certain coordinate pixel value is pixelValue=10000, then the depth value = pixelValue*valueScale = 10000*0.1=1000mm. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>float The value scale of the depth frame </dd></dl>

</div>
</div>
<a class="anchor" id="a42e33dafc2a310292a84bc4e59b624b3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float ob_points_frame_get_position_value_scale </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the point position value scale of the points frame. The point position value of the points frame is multiplied by the scale to give a position value in millimeters. For example, if scale=0.1, the x-coordinate value of a point is x = 10000, which means that the actual x-coordinate value = x*scale = 10000*0.1 = 1000mm. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>float The position value scale of the points frame </dd></dl>

</div>
</div>
<a class="anchor" id="a572bd900dfe085bd8618e53b2670f069"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_delete_frame </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Delete a frame object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>The frame object to delete </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a48ab6c2f559f3af05f4147a5f2abb324"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t ob_frameset_frame_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frameset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of frames contained in the frameset. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frameset</td><td>frameset object </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>uint32_t return the number of frames </dd></dl>

</div>
</div>
<a class="anchor" id="a5fd791167ae8728c8796746cddfb98f9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a>* ob_frameset_depth_frame </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frameset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the depth frame from the frameset. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frameset</td><td>Frameset object. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_frame* Return the depth frame. </dd></dl>

</div>
</div>
<a class="anchor" id="aea3b7d87129161528aeecf9cb06c0321"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a>* ob_frameset_color_frame </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frameset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the color frame from the frameset. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frameset</td><td>Frameset object. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_frame* Return the color frame. </dd></dl>

</div>
</div>
<a class="anchor" id="a6e1afbac80830e8f9497e6fda23d5ca1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a>* ob_frameset_ir_frame </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frameset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the infrared frame from the frameset. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frameset</td><td>Frameset object. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_frame* Return the infrared frame. </dd></dl>

</div>
</div>
<a class="anchor" id="aaee352704126aa113327a3105f5ed3af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a>* ob_frameset_points_frame </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frameset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get point cloud data from the frameset. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frameset</td><td>Frameset object. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_frame* Return the point cloud frame. </dd></dl>

</div>
</div>
<a class="anchor" id="a30f3200115ea77315b7bb8ace3087207"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a>* ob_frameset_get_frame </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frameset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#ad2256fb566c96c9a50ab5120012a1ed1">ob_frame_type</a>&#160;</td>
          <td class="paramname"><em>frame_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a frame of a specific type from the frameset. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frameset</td><td>Frameset object. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">frame_type</td><td>Frame type. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_frame* Return the frame of the specified type, or nullptr if it does not exist. </dd></dl>

</div>
</div>
<a class="anchor" id="aa1f584089c58f97a5a2fb5ed3fe8be51"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a>* ob_frameset_get_frame_by_index </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frameset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a frame at a specific index from the FrameSet. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frameset</td><td>Frameset object. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index of the frame. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_frame* Return the frame at the specified index, or nullptr if it does not exist. </dd></dl>

</div>
</div>
<a class="anchor" id="abebc05a57d9906ff7b05e5e3edbe0537"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a73b09a6818b6e37a12ce17732e2e01c0">ob_accel_value</a> ob_accel_frame_value </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get accelerometer frame data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Accelerometer frame. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_accel_value Return the accelerometer data. </dd></dl>

</div>
</div>
<a class="anchor" id="aaed95a72b4e138b7f25f1abc90f762c4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float ob_accel_frame_temperature </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the temperature when acquiring the accelerometer frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Accelerometer frame. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>float Return the temperature value. </dd></dl>

</div>
</div>
<a class="anchor" id="a491583ded6975af8cb3948a6ec372529"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a3ad05ef746762121034a508f185b329b">ob_gyro_value</a> ob_gyro_frame_value </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get gyroscope frame data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Gyroscope frame. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_gyro_value Return the gyroscope data. </dd></dl>

</div>
</div>
<a class="anchor" id="a46144bd2d6c7d57b85f8b1f95d1be336"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float ob_gyro_frame_temperature </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the temperature when acquiring the gyroscope frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Gyroscope frame. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>float Return the temperature value. </dd></dl>

</div>
</div>
<a class="anchor" id="af136546f3099cfde42407c2ab91b5f2a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_frame_add_ref </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Increase the reference count of a frame object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object to increase the reference count. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5a144bc4b6e9ba63d60eccba1c31b8c1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a>* ob_create_frame </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2dd00351b3c3e24fba7b2e9d1bb033a8">ob_format</a>&#160;</td>
          <td class="paramname"><em>frame_format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>stride_bytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#ad2256fb566c96c9a50ab5120012a1ed1">ob_frame_type</a>&#160;</td>
          <td class="paramname"><em>frame_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create an empty frame object based on the specified parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame_format</td><td>Frame object format. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Frame object width. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Frame object height. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">stride_bytes</td><td>Buffer row span. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">frame_type</td><td>Frame object type. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_frame* Return an empty frame object. </dd></dl>

</div>
</div>
<a class="anchor" id="a5e49f68c6b77a2e80615e229cd3ae473"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a>* ob_create_frame_from_buffer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2dd00351b3c3e24fba7b2e9d1bb033a8">ob_format</a>&#160;</td>
          <td class="paramname"><em>frame_format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>frame_width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>frame_height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>buffer_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a3ba48a3ae08f73fc4c6beac4464dde1d">ob_frame_destroy_callback</a> *&#160;</td>
          <td class="paramname"><em>buffer_destroy_cb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer_destroy_context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a frame object based on an externally created buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame_format</td><td>Frame object format. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">frame_width</td><td>Frame object width. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">frame_height</td><td>Frame object height. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>Frame object buffer. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer_size</td><td>Frame object buffer size. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer_destroy_cb</td><td>Destroy callback. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer_destroy_context</td><td>Destroy context. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_frame* Return the frame object. </dd></dl>

</div>
</div>
<a class="anchor" id="a91bc0d41b1bbe8885853e5b0346034d9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a>* ob_create_frameset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create an empty frameset object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ob_frame* Return the frameset object. </dd></dl>

</div>
</div>
<a class="anchor" id="a379ea3f58725a133c0d98efa99cfece2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_frameset_push_frame </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frameset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#ad2256fb566c96c9a50ab5120012a1ed1">ob_frame_type</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a frame of the specified type to the frameset. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frameset</td><td>Frameset object. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type of frame to add. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object to add. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a35186cca3c0a561acb281b03c8ea6013"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_frame_set_system_time_stamp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>system_timestamp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the system timestamp of a frame object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object to set the system timestamp for. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">system_timestamp</td><td>System timestamp to set in milliseconds. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9f4b11364d2a74f80e9c6252b94e97bd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_frame_set_device_time_stamp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>device_timestamp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the device timestamp of a frame object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object to set the device timestamp. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">device_timestamp</td><td>Device timestamp to set in milliseconds. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5ce57b8b10a7dddf118ccd9663f7dd06"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ob_frame_set_device_time_stamp_us </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ObTypes_8h.html#a2d32dd7fcbb88ebb408e9f9081e6f896">ob_frame</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>device_timestamp_us</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structob__error.html">ob_error</a> **&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the device timestamp of a frame object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">frame</td><td>Frame object to set the device timestamp for. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">device_timestamp_us</td><td>Device timestamp to set in microseconds. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">error</td><td>Log error messages. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Apr 10 2025 12:28:22 for OrbbecSDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
